package com.ruoyi.system.mapper;

import java.util.List;

import com.ruoyi.system.domain.LocalVo;
import com.ruoyi.system.domain.TBaseStorageAreaLocation;
import com.ruoyi.system.domain.TMiStock;
import com.ruoyi.system.domain.UpdateStatusRequest;
import org.apache.ibatis.annotations.Param;

/**
 * 库位管理Mapper接口
 *
 * @author ruoyi
 * @date 2024-09-05
 */
public interface TBaseStorageAreaLocationMapper
{
    /**
     * 查询库位管理
     *
     * @param locationId 库位管理主键
     * @return 库位管理
     */
    public TBaseStorageAreaLocation selectTBaseStorageAreaLocationByLocationId(String locationId);

    /**
     * 查询库位管理列表
     *
     * @param tBaseStorageAreaLocation 库位管理
     * @return 库位管理集合
     */
    public List<TBaseStorageAreaLocation> selectTBaseStorageAreaLocationList(TBaseStorageAreaLocation tBaseStorageAreaLocation);

    /**
     * 新增库位管理
     *
     * @param tBaseStorageAreaLocation 库位管理
     * @return 结果
     */
    public int insertTBaseStorageAreaLocation(TBaseStorageAreaLocation tBaseStorageAreaLocation);

    /**
     * 修改库位管理
     *
     * @param tBaseStorageAreaLocation 库位管理
     * @return 结果
     */
    public int updateTBaseStorageAreaLocation(TBaseStorageAreaLocation tBaseStorageAreaLocation);

    /**
     * 删除库位管理
     *
     * @param locationId 库位管理主键
     * @return 结果
     */
    public int deleteTBaseStorageAreaLocationByLocationId(String locationId);

    /**
     * 批量删除库位管理
     *
     * @param locationIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTBaseStorageAreaLocationByLocationIds(String[] locationIds);

    List<TBaseStorageAreaLocation> selectTBaseStorageAreaLocationByDecId(String decId);

    List<TBaseStorageAreaLocation> selectByLocationId(String locationId);
    TBaseStorageAreaLocation getOne(String locationId);

    int updateStatus(UpdateStatusRequest request);

    List<TBaseStorageAreaLocation> selectList();


    void setSTS(@Param("status")int status, @Param("locationId")String locationId);

    public List<LocalVo> getlist(TBaseStorageAreaLocation tBaseStorageAreaLocation);

    public int selectCount();

    int updateLocationsStatus0(String[] locationId);

    int updateLocationsStatus2(String[] locationId);

    int updateLocationsStatus1(String[] locationId);
}
